home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d19
/
dlcnt157.arc
/
DLCOUNT.DOC
< prev
next >
Wrap
Text File
|
1991-01-26
|
16KB
|
312 lines
(****************************************************)
(* DLCounter Ver 1.33ß Written by Gary Bouchard *)
(* SysOp - The Computer Store BBS *)
(* St. Augustine, Florida (904)797-4824 *)
(* Copyright(c) 1990....All Rights Reserved *)
(* Released August 4, 1990 Modified August 31,1990 *)
(****************************************************)
-= Description =-
DLCounter is a program that will read thru your PCBoard(tm)
DOWNLOAD.TXT file, and gather information on how many times a
particular program has been downloaded from your BBS, and compile
a list of files that have 1 or more downloads into a work file. The
program then goes thru the work file, and inserts information about
how many downloads a file has had into your DIR file, appending the
information to your files description.
-= Requirements =-
To use DLCounter, you must be using PCBoard(tm) 14.5 or greater!
This is because DLCounter uses PCBoards(tm) @X## macros for
colorization, which is not compatible with previous versions of
PCBoard(tm).
DLCounter will read your PCBoard.dat file to obtain information on
the files that it needs to work with. My system's DOWNLOAD.TXT file
is 235,456 bytes long. I have trimmed out the entries which contain
information about ARC files since my system no longer has any, and
presently have about 1½ years worth of download information
recorded in it. My System contains approximately 1,300 verified
files, and the initial run took about 1.5 minutes. Once the initial
run has been made, subsequent runs are around 45 seconds to update
all the files. This speed largely depends on how many DIRxx files
you have on your system.
-= Installation =-
Installation could not be any easier. Place DLCount.exe anywhere on
your system. The configuration file contains the information that
the program needs to operate and is usually kept along with the
program. DLCounter will create a temporary database file defined by
the user which it uses to read from to update the DIRxx files. This
file is created in the directory where DLCount is stored and is
regenerated on each run. I recommend that you BACKUP your DIR files
before you begin using the DLCounter, just in case your not happy
with the results, or a glitch creeps up on us!
-= Configuration =-
The Configuration of DLCounter is quite simple. The Sample
Configuration file included in this ZIP file contains examples of
how the file is setup. The Configuration file is fully commented,
and explains what is required to be in place. Any line in the
configuration file that begins with a semi-colon ";" is ignored by
DLCounter.
Following the example,first list your path to the file PCBOARD.DAT,
then list the physical directories of your downloadable files with
the heading "DLFILE". DLCounter wants to make sure the files exist
before trying to enter the download count into the DIR file
description. Next specify whether to you want DLCounter to create
backup files using the *.BAK extension, just in case. Next an
optional entry into the callers log made regarding the process.
Then we need to tell DLCounter about the Conference DIR files that
we would like included in the updates, and ONLY the Conferences.
These are specifically the TEXT DIR files, and they have a heading
of CONFS (for brevity). The Main Board DIR files are detected
automatically by DLCounter. We also have the ability to specify a
color using the PCBoard(tm) @X## macros with the parameter HLITE.
See the Configuration File for the color chart.
These commands do not need to be in any certain order, and are not
case sensitive. We can also specify in the configuration if you
want a bulletin to be generated which contains the most active
files. To add this, move to the Heading which say's "BLT", and add
to the line the path/location/name of the BLT file you want
generated. You may also specify what the minimum download count
should be to be included in the BLT file. The BLT file is done
using PCBoard(tm) @X## color macros, and is colorized based on the
amount of downloads a particular file has to it's credit. If you
need more capabilities in the BLT generation, please let me know!
If you intend on creating configuration files specifically for
conferences, then you only need to put in DLFILE entries which
match the particular conference. You may also want to consider
naming the configuration files according to your conference numbers
to help keep track of which is which.
-= Operation =-
Operation is also quite simple, and the program was designed to be
operated from your EVENT.SYS file. Simply type the command
"DLCount", along with the name of the configuration file you intend
to use with this particular run, and press enter. Your program will
do the rest. The first time you run the program, you will want to
create a master list, and let the program insert the initial
download counts. This is done by passing a command line parameter
after the program name like so;
C:\PCB>dlcount <space> dlcount.cfg <space> /new <enter>
____always first
DLCounter allows 3 command line switches to be used by the program
after the name of your configuration file has been specified.
The "/NEW" parameter is one besides the name of the configuration
file that is recognized by the program and should be typed to
include the slash, which is denoted as a switch. This action
creates the database file from which we start out. If the program
does not find the user defined database file, it will generate one;
but without the "/NEW" parameter, the file will only contain
downloads greater than or equal to the filedate of the config file.
After the initial database list is done the first time and your DIR
files have been updated, the "/NEW" is no longer required unless
you wanted it. It will *NOT* effect the download count if you do
use the "/NEW" parameter again. In fact, I use the "/NEW" parameter
when I want to change the highlight colors in the DIRxx file.
Without the "/NEW" parameter, DLCounter checks the date of the last
run, and from that point on, only collects filenames that have been
added since the last run. DLCount uses the date of the
configuration file to determine the last run, and the filedate of
the config file is updated after successful completion of the
program.
Another switch that can be used is to aid in debugging, and the
switch is called "/DB". This switch places x's into your database
file as the record is updated, and allows us to run a debugging
program call DLCDB which is included in the ZIP file. The DLCDB
program will print or display any database entries that did not get
updated for one reason or another. If you do not use the "/DB"
switch when you run DLCounter, it will not put the x's into the
records.
There is also a switch that will allow you to make a run, causing
DLCounter to remove the entries from the DIRxx file.
This switch is "/CLEAR". It may be placed anywhere on the command
line after the configuration file name, and is not case sensitive.
If you desire to clear the entries, you need a complete database
file, so that DLCounter knows what entries should be deleted. To
accomplish this, simply use the "/NEW" switch along with the
"/CLEAR" command.
The final switch is called "/NOTAG". When DLCounter runs, and
generates it's HOT FILES list, It appends at the bottom of the list
a tag line that say's :
"■ DLCounter Ver 1.33ß (c) 1990... Written by Gary Bouchard "
Some people do not like that kind of thing, so I allow the SysOp to
suppress the tagline. Who say's I have an ego problem! <grin>.
Because these command line switches are probably not used all the
time, I will not be moving them into the configuration file.
It doesn't make sense to take up space with temporary commands,
then remove them for a new run.
So that you know what the program is doing, I will explain the
process. When DLCounter is first run, it checks to see if the user
defined database file exists, and if so what was the date of the
last run. This is done by comparing the date of the configuration
file with the date of the database file. After a successful
execution of DLCounter, the file date of the configuration file is
updated to reflect the current system date. If DLCounter determines
that your list needs rebuilding, based on the date of the last run,
it will compile a list, first of all scanning the physical files
that it can locate in the download directories, then it will
compile a list of all of the entries contained in your directories,
counting each file, and keeping track of how many times a
particular file was found in the DOWNLOAD.TXT file. Once all the
files have been accounted (existence verified) for, DLCounter
writes out a list of all the files it found with 1 or more
downloads to a database file defined by the user. This is the work
file that DLCounter uses to make your entries into the DIRxx file.
The reason it is done this way, is because PCBoard(tm) records
information into the DOWNLOAD.TXT file about whether the file
transaction was an upload or a download, The name of the person
that created the file transaction, the date and time of the file
transaction, the name of the file transferred, the protocol used,
the transfer rate (CPS), and the number of errors that occurred
during the transfer. Every file transaction that occurs, gets
appended to the end of this file. What DOWNLOAD.TXT does not tell
you, is from what directory or DIRxx location the file was
transferred from. It is for this reason that when DLCounter is in
operation, it will open each of your DIRxx files 1 by 1, read in
the file name, and look for a match in the file Database. A binary
search of the Database file is conducted, so there is virtually no
difference in speed if you had 1 entry in the file or 2000. If it
finds a match, it gathers the information on how many times the
file was downloaded, and inserts that information into your DIRxx
listing, appending the count to the file description. Rather than
trying to locate the end of a line and putting this information at
the end, it inserts a new line with the count. If the count should
change in the future, DLCounter will merely update the count rather
than add another line. This gives the program other capabilities,
like user definable color highlighting of the Download count.
-= Caveats =-
DLCounter is believed to be in a bug free state at this point thru
the repetitive testing by me. This program is currently in a BETA
test state, and is being released to put it thru the ringer (so to
speak!). Please report any problems that might occur directly to
me, so that I can get them straightened out ASAP. Please do not
bother Clark Development with problems concerning this software. My
BBS is a free access system, and upon registration, users have full
privileges to get the latest version of DLCounter, or report
problems.
-= Comments =-
I have been working on DLCounter for a long time...in fact.. I got
the idea from logging onto CompuServe. I work for a living, and
program for a hobby. I have released this program as "FREEWARE" as
it is classified. This program is fully functional, and not
CRIPPLED in any way, shape, or form. I *DO NOT* want any money for
this program. All I ask in return for it's use is some feedback, or
suggestions for enhancements, and that you drop me a line on my
free access BBS, letting me know that you are using it. I have been
a PCBoard(tm) SysOp since version 10.0 was released, and the reason
I wrote my own program was because as a SysOp, I was tired of being
nickeled and dimed to death for utilities for the BBS. That's what
inspired me to start writing my own programs, and release them
without charge. I am not against anyone making a few bucks from a
user of the BBS, but I personally feel (and I'm probably not alone)
that SysOps already have a HUGE investment into these systems and
can not continue to shell out money for every program that makes
the job just a little easier, each time one comes along. There is
an association in the works, that, in the future will have their
own versions of the popular software to compete with all the
"NAGWARE", and at the right price....who's going to win? The users!
Please remember also that I am not a professional programmer, but
a mere novice. Any comments/suggestions that you Pro's can make to
help me learn sound programming techniques would be appreciated.
-= Legal Stuff =-
This is a Copyrighted(c) program. It cannot be altered,
disassembled, decompiled, or hacked without my expressed written
consent. I maintain the rights to the source code, and will support
the program as long as there is an interest in it. I cannot be
responsible for any damage that may result from the use of this
program. Though the program appears to be "BUG FREE" there maybe
something that I did not catch. This program is in it's BETA
TESTING stage.....As Sam Smith say's -> "You've Been Warned!".
This ZIP file was assembled using the Authenticity Checking
Capabilities of PKZIP(tm) with a label of;
"The Computer Store BBS -> 904-797-4824".
If Authenticity verification is not present when you unzipped this
file, or the Authenticity check does not show the above, then DO
NOT use it, as it has been altered, and may not be safe to use.
-= Credits =-
I want to personally thank Duncan Huges for giving me the
information that was required to complete this program. It's people
like him that make programming fun to do! I would also like to
thank Sam Smith of the ToolShop BBS for the terrific tools he has
written for Turbo Pascal programming, and his generosity in sharing
them with others. Also a big thank you to Art Emery of the Taken
Road BBS in Margate, Florida for his assistance in debugging the
program on a system other than mine. I also don't want to forget my
new programming partner from the Falcon Warrior BBS, Utah - Bill
Shields for giving me ideas!
-= Technical =-
DLCounter is written in Borlands Turbo Pascal ver 5.5, and includes
routines from DUNCAN HUGES of San Diego, Ca. and Sam Smith of the
ToolShop BBS in Phoenix, Arizona. The system used to write the
program is a IBM PS/2 model 60 with 230meg of Disk, and 3megs of
RAM using LIM 3.2 Expanded memory, Compaq DOS ver 3.31, and tested
under a Beta Version of MS-DOS 5.0, and DR.DOS ver 5.0 without any
problems. In fact, loading the DOS Kernel into HIMEM allows very
large DOWNLOAD.TXT files to be processed easily. The program was
tested using PCBoard(tm) ver 14.5/E3 single node system. Source
code will be available for inspection after the program has been
fully debugged, and then upon request.
-= Notes =-
I plan to add some features to the program as soon as it is
determined to be stable. I don't want to give away the new
features, but I am certainly open to suggestions. Beta Test
versions will continue until Version 2.0 or the program finally
proves to be bug free.
I am a member of the Intelec(tm) NetMail Network, and can be
reached thru just about any of the conferences available. My BBS #
is on the top of page #1, and is a free open access system upon
registration. I request that any questions or problems you
encounter with this program be directed to me on my BBS or thru the
Net/Mail network.